Formal operation definition in object-oriented databases

نویسنده

  • Maurice van Keulen
چکیده

ion of the result of an expression, it is obvious that without result, a type for an expression is irrelevant. Obviously, there is more to heterogeneity than just the addition or modification of typing rules. It has a profound impact on the meaning of a type, hence on the meaning of expressions. In Section 5.3.6, we have seen that heterogeneity is one of the causes of update anomalies if not properly guarded with additional typing restrictions. Also, heterogeneity may be ‘lost’ if the semantics of expressions are not carefully defined with retaining heterogeneity in mind. For example, the semantics of the except-expression for sorts (see Section 4.6.4) is of the form in D(out D([[E]] T X) except ( )) If the run-time type of E is a subtype of D, then this run-time type is not maintained by the except-expression, because the result always has run-time type D as a result of the explicit in D( ). This ‘loss of heterogeneity problem’ may occur in the semantics of other expressions too. A promising solution would be to enhance FLORENCE with an unitop(e; e )-expression that can perform operation e on unit value e while preserving its the run-time type: T ` e 0 : T ` e : K( )! K( ) T ` unitop(e; e ) : [[unitop(e; e )]]V TgK( val([[e]]V)( val([[e ]]V)); tag([[e ]]V)) This would allow a semantics of except that does not exhibit the loss of heterogeneity problem: unitop( x :hhii : x except ( ); [[E]]TX) Apart from this problem, TAMARA has gained much in convenience of specification compared to TM with the advent of heterogeneity. The example of Section 4.3 illustrates this clearly. The lack of heterogeneity, heterogeneous sets in particular, were an often heard criticism of TM, especially because of the database context. Overloading and overriding As explained in Section 3.9, the full potential of heterogeneity can only be exploited in combination with late-binding. Late-binding is provided in TAMARA in the form of overloading and overriding of domain members. The basis for late-binding provided by FLORENCE in the form of overloaded functions proved successful. From the general idea of mapping identically named domain members to one overloaded function and the typing rules and well-formedness of overloaded functions, the typing rules for domain member overloading and overriding naturally emerged. Furthermore, by incorporating the concept of binary methods, overloading and overriding appeared to be two sides of the same medal. This allowed an approach that covers both. Section 5.2 provides a systematic description of how the typing rules for overloading and overriding are deduced and what the relationship between overloading and overriding is. 5.5. TAMARA in retrospect 183 One aspect of the way overloading and overriding are incorporated into TAMARA deserves some improvement. For example, the method m(p:Tj):To of class D is considered to override m():To of the same class. Hence, To To is required which is a bit awkward, because a different number of parameters usually suggests overloading, hence no requirements are needed for the output types. The reason for this behaviour can be traced to record formalization. The dispatching record type h p0:D; p1:Ti is a subtype of h p0:Di. If the number of parameters should be determinative, a record type is not the best choice here. A formalization based on a tuple type hh 1; : : : ; nii with a subtyping rule

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Modeling and Evaluation of Stochastic Discrete-Event Systems with RayLang Formalism

In recent years, formal methods have been used as an important tool for performance evaluation and verification of a wide range of systems. In the view points of engineers and practitioners, however, there are still some major difficulties in using formal methods. In this paper, we introduce a new formal modeling language to fill the gaps between object-oriented programming languages (OOPLs) us...

متن کامل

Modeling and Evaluation of Stochastic Discrete-Event Systems with RayLang Formalism

In recent years, formal methods have been used as an important tool for performance evaluation and verification of a wide range of systems. In the view points of engineers and practitioners, however, there are still some major difficulties in using formal methods. In this paper, we introduce a new formal modeling language to fill the gaps between object-oriented programming languages (OOPLs) us...

متن کامل

A formal definition of an object - oriented data / knowledge model

The integration of databases and knowledge bases has become the purpose of many new AI technologies such as Intelligent Databases, Knowledge Base Management Systems, and Expert Database Systems. Object orientation has long been recognized as an appropriate approach for achieving the integration of data and knowledge management. This paper presents an objectoriented model for representing, stori...

متن کامل

An Overview of Fuzzy Object Oriented Database Systems (FOODBs)

Continuous advancement of information technology is looking for more generalized and specific database definition that could make possible the storage, retrieval and manipulation of multiple, different variety of imprecise, ambiguous, and incomplete complex information in the form of data. To explore such databases, researchers’ blends the concept of database with object oriented modeling and f...

متن کامل

Towards a Model for Object-Oriented Design Measurement

Object-oriented design plays a pivotal role in software development because it determines the structure of the software solution. Once the design has been implemented, it is difficult and expensive to change. Therefore the design should be good from the start. Metrics can help to evaluate and improve the quality of a design. Many metrics of object-oriented design have been proposed. Unfortunate...

متن کامل

A formal model for temporal schema versioning in object-oriented databases

The problem of supporting temporal schema versioning has been extensively studied in the context of the relational model. In the object-oriented environment, previous works were devoted to the study of the different aspects of schema evolution or (non-temporal) versioning in branching models, due to the traditional origination of the object-oriented model from CAD/CAM and CIM. Nowadays, the com...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1997